package com.boot.ys.mybatisplus.utils;

import com.google.common.base.Strings;
import org.apache.commons.lang3.StringUtils;

/**
 * 这个是脱敏使用的
 */
public class tuomingInformation {

    /**
     * 只显示第一个汉字，其他隐藏为2个星号<例子：李**>
     */
    public static String desensitizedName(String fullName) {
        if (StringUtils.isBlank(fullName)) {
            return "";
        }
        String name = StringUtils.left(fullName, 1);
        return StringUtils.rightPad(name, StringUtils.length(fullName), "*");
    }

    //手机号码脱敏
    public static String desensitizedPhoneNumber(String phoneNumber){
        if(StringUtils.isNotEmpty(phoneNumber)){
            phoneNumber = phoneNumber.replaceAll("(\\w{3})\\w*(\\w{4})", "$1****$2");
        }
        return phoneNumber;
    }

    //身份证号码脱敏
    public static String desensitizedIdNumber(String idNumber){
        if (!Strings.isNullOrEmpty(idNumber)) {
            if (idNumber.length() == 15){
                idNumber = idNumber.replaceAll("(\\w{6})\\w*(\\w{3})", "$1******$2");
            }else if (idNumber.length() == 18){
                idNumber = idNumber.replaceAll("(\\w{6})\\w*(\\w{3})", "$1*********$2");
            }else{
                return "" ;
            }
        }else{
            return "" ;
        }
        return idNumber;
    }

    //根据身份证号码倒数第二位来判断男女最后一位数是双数还是单数
    public static String getSex(String idNo){
        if(StringUtils.isEmpty(idNo)){
            return "未知" ;
        }
        Integer sexNo = Integer.valueOf(idNo.substring(idNo.length()-2 , idNo.length()-1)) ;
        System.out.println(sexNo) ;
        if(sexNo%2 == 0){
            return "女" ;
        }else{
            return "男" ;
        }
    }

    public static void main(String[] args) {

        System.out.println(getSex("4305255555")) ;

    }

}
